<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta content="Cask Data, Inc." name="author" />
<meta content="Copyright © 2014-2017 Cask Data, Inc." name="copyright" />


    <meta name="git_release" content="6.1.1">
    <meta name="git_hash" content="05fbac36f9f7aadeb44f5728cea35136dbc243e5">
    <meta name="git_timestamp" content="2020-02-09 08:22:47 +0800">
    <title>Appendix: cdap-site.xml, cdap-default.xml</title>

    <link rel="stylesheet" href="../_static/cdap-bootstrap.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    <link rel="stylesheet" href="../_static/bootstrap-3.3.6/css/bootstrap.min.css" type="text/css" />
    <link rel="stylesheet" href="../_static/bootstrap-3.3.6/css/bootstrap-theme.min.css" type="text/css" />
    <link rel="stylesheet" href="../_static/css/bootstrap-sphinx.css" type="text/css" />
    <link rel="stylesheet" href="../_static/css/cdap-dynamicscrollspy-4.css" type="text/css" />
    <link rel="stylesheet" href="../_static/css/jquery.mCustomScrollbar.css" type="text/css" />
    <link rel="stylesheet" href="../_static/css/cdap-jquery.mCustomScrollbar.css" type="text/css" />
    <link rel="stylesheet" href="../_static/css/abixTreeList-2.css" type="text/css" />
    <link rel="stylesheet" href="../_static/cdap-bootstrap.css" type="text/css" />

    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '',
        VERSION:     '6.1.1',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  false
      };
    </script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <script type="text/javascript" src="../_static/language_data.js"></script>

    <link rel="shortcut icon" href="../_static/favicon.ico"/>
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="top" title="Cask Data Application Platform 6.1.1 Documentation" href="../index.html" />
    <link rel="up" title="Appendices" href="index.html" />
    <link rel="next" title="Appendix: cdap-security.xml" href="cdap-security.html" />
    <link rel="prev" title="Appendices" href="index.html" />
    <!-- block extrahead -->
    <meta charset='utf-8'>
    <meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
    <meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
    <meta name="apple-mobile-web-app-capable" content="yes">
    <!-- block extrahead end -->

</head>
<body role="document">

<!-- block navbar -->
<div id="navbar" class="navbar navbar-inverse navbar-default navbar-fixed-top">
    <div class="container-fluid">
      <div class="row">
        <div class="navbar-header">
          <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
          <a class="navbar-brand" href="../table-of-contents/../../index.html">
            <span><img alt="CDAP logo" src="../_static/cdap_logo.svg"/></span>
          </a>

          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>

          <div class="pull-right">
            <div class="dropdown version-dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown"
                role="button" aria-haspopup="true" aria-expanded="false">
                v 6.1.1 <span class="caret"></span>
              </a>
              <ul class="dropdown-menu">
                <li><a href="//docs.cdap.io/cdap/5.1.2/en/index.html">v 5.1.2</a></li>
                <li><a href="//docs.cdap.io/cdap/4.3.4/en/index.html">v 4.3.4</a></li>
              </ul>
            </div>
          </div>
          <form class="navbar-form navbar-right navbar-search" action="../search.html" method="get">
            <div class="form-group">
              <div class="navbar-search-image material-icons"></div>
              <input type="text" name="q" class="form-control" placeholder="  Search" />
            </div>
            <input type="hidden" name="check_keywords" value="yes" />
            <input type="hidden" name="area" value="default" />
          </form>

          <div class="collapse navbar-collapse nav-collapse navbar-right navbar-navigation">
            <ul class="nav navbar-nav"><li class="docsite-nav-tab-container"><a class="docsite-nav-tab-link " href="../table-of-contents/../../index.html">简介</a></li><li class="docsite-nav-tab-container"><a class="docsite-nav-tab-link current" href="../table-of-contents/../../guides.html">手册</a></li><li class="docsite-nav-tab-container"><a class="docsite-nav-tab-link " href="../table-of-contents/../../reference-manual/index.html">参考</a></li><li class="docsite-nav-tab-container"><a class="docsite-nav-tab-link " href="../table-of-contents/../../faqs/index.html">帮助</a></li>
            </ul>
          </div>

        </div>
      </div>
    </div>
  </div><!-- block navbar end -->
<!-- block main content -->
<div class="main-container container">
  <div class="row"><div class="col-md-2">
      <div id="sidebar" class="bs-sidenav scrollable-y-outside" role="complementary">
<!-- theme_manual: admin-manual -->
<!-- theme_manual_highlight: guides -->
<!-- sidebar_title_link: ../table-of-contents/../../guides.html -->

  <div role="note" aria-label="manuals links"><h3><a href="../table-of-contents/../../guides.html">Guides</a></h3>

    <ul class="this-page-menu">
      <li class="toctree-l1"><a href="../table-of-contents/../../user-guide/index.html" rel="nofollow">用户手册</a>
      </li>
      <li class="toctree-l1"><a href="../table-of-contents/../../developer-manual/index.html" rel="nofollow">开发手册</a>
      </li>
      <li class="toctree-l1"><b><a href="../table-of-contents/../../admin-manual/index.html" rel="nofollow">管理手册</a></b>
      <nav class="pagenav">
      <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../index.html"> Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="../cdap-components.html"> CDAP Components</a></li>
<li class="toctree-l1"><a class="reference internal" href="../deployment-architectures.html"> Deployment Architectures</a></li>
<li class="toctree-l1"><a class="reference internal" href="../hadoop-compatibility.html"> Hadoop Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../cdap-hadoop-compatibility.html"> CDAP and Hadoop Compatibility</a></li>
<li class="toctree-l1"><a class="reference internal" href="../system-requirements.html"> System Requirements</a></li>
<li class="toctree-l1"><a class="reference internal" href="../installation/index.html"> Installation</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../installation/cloudera.html">Cloudera Manager</a></li>
<li class="toctree-l2"><a class="reference internal" href="../installation/emr.html">Amazon EMR</a></li>
<li class="toctree-l2"><a class="reference internal" href="../installation/ambari.html">Apache Ambari</a></li>
<li class="toctree-l2"><a class="reference internal" href="../installation/mapr.html">MapR</a></li>
<li class="toctree-l2"><a class="reference internal" href="../installation/azure-hdinsight.html">Microsoft Azure HDInsight</a></li>
<li class="toctree-l2"><a class="reference internal" href="../installation/packages.html">Packages</a></li>
<li class="toctree-l2"><a class="reference internal" href="../installation/replication.html">Replication</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../incompatibilities.html"> Incompatibilities</a></li>
<li class="toctree-l1"><a class="reference internal" href="../upgrading/index.html"> Upgrading</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../upgrading/cloudera.html">Cloudera Manager</a></li>
<li class="toctree-l2"><a class="reference internal" href="../upgrading/ambari.html">Apache Ambari</a></li>
<li class="toctree-l2"><a class="reference internal" href="../upgrading/mapr.html">MapR</a></li>
<li class="toctree-l2"><a class="reference internal" href="../upgrading/packages.html">Packages</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../security/index.html"> Security</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../security/perimeter-security.html">Perimeter Security</a></li>
<li class="toctree-l2"><a class="reference internal" href="../security/authorization.html">Authorization</a></li>
<li class="toctree-l2"><a class="reference internal" href="../security/impersonation.html">Impersonation</a></li>
<li class="toctree-l2"><a class="reference internal" href="../security/system-services.html">Enabling SSL for System Services</a></li>
<li class="toctree-l2"><a class="reference internal" href="../security/secure-storage.html">Secure Storage</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../operations/index.html"> Operations</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../operations/logging.html"> Logging and Monitoring</a></li>
<li class="toctree-l2"><a class="reference internal" href="../operations/metrics.html"> Metrics</a></li>
<li class="toctree-l2"><a class="reference internal" href="../operations/operations-dashboard.html"> Dashboard and Reports</a></li>
<li class="toctree-l2"><a class="reference internal" href="../operations/preferences.html"> Preferences and Runtime Arguments</a></li>
<li class="toctree-l2"><a class="reference internal" href="../operations/scaling-instances.html"> Scaling Instances</a></li>
<li class="toctree-l2"><a class="reference internal" href="../operations/resource-guarantees.html"> Resource Guarantees in YARN</a></li>
<li class="toctree-l2"><a class="reference internal" href="../operations/tx-maintenance.html"> Transaction Service Maintenance</a></li>
<li class="toctree-l2"><a class="reference internal" href="../operations/cdap-ui.html"> CDAP UI</a></li>
</ul>
</li>
<li class="toctree-l1 current"><a class="reference internal" href="index.html"> Appendices</a><ul class="current">
<li class="toctree-l2 current"><a class="current reference internal" href="#"> Appendix: cdap-site.xml</a></li>
<li class="toctree-l2"><a class="reference internal" href="cdap-security.html"> Appendix: cdap-security.xml</a></li>
<li class="toctree-l2"><a class="reference internal" href="minimal-cdap-site.html"> Appendix: Minimal cdap-site.xml</a></li>
<li class="toctree-l2"><a class="reference internal" href="hbase-ddl-executor.html"> Appendix: HBaseDDLExecutor</a></li>
</ul>
</li>
</ul>
</nav>
      </li>
      <li class="toctree-l1"><a href="../table-of-contents/../../integrations/index.html" rel="nofollow">集成手册</a>
      </li>
      <li class="toctree-l1"><a href="../table-of-contents/../../examples-manual/index.html" rel="nofollow">最佳实践</a>
      </li>
    </ul>
  </div></div>
    </div><div class="col-md-8 content" id="main-content">
    
  <div class="section" id="appendix-cdap-site-xml-cdap-default-xml">
<span id="appendix-cdap-site-xml"></span><span id="appendix-cdap-default-xml"></span><h1>Appendix: cdap-site.xml, cdap-default.xml<a class="headerlink" href="#appendix-cdap-site-xml-cdap-default-xml" title="Permalink to this headline">🔗</a></h1>
<p>The <code class="docutils literal notranslate"><span class="pre">cdap-site.xml</span></code> file is the configuration file for a CDAP installation.
Its properties and values determine the settings used by CDAP when starting and operating.</p>
<p>Any properties not found in an installation’s <code class="docutils literal notranslate"><span class="pre">cdap-site.xml</span></code> will use a default
parameter value defined in the file <code class="docutils literal notranslate"><span class="pre">cdap-default.xml</span></code>. It is located in the CDAP JARs,
and should not be altered.</p>
<p>Any of the default values (with the exception of those marked <a class="reference internal" href="#cdap-site-xml-note-final"><span class="std std-ref">[Final]</span></a>) can be over-ridden by defining a modifying value in the
<code class="docutils literal notranslate"><span class="pre">cdap-site.xml</span></code> file, located (by default) either in <code class="docutils literal notranslate"><span class="pre">&lt;CDAP-HOME&gt;/conf/cdap-site.xml</span></code>
(CDAP Sandbox) or <code class="docutils literal notranslate"><span class="pre">/etc/cdap/conf/cdap-site.xml</span></code> (Distributed CDAP).</p>
<p>The section below are the parameters that can be defined in the <code class="docutils literal notranslate"><span class="pre">cdap-site.xml</span></code> file, their default
values (obtained from <code class="docutils literal notranslate"><span class="pre">cdap-default.xml</span></code>) and their descriptions.</p>
<p class="rubric">Notes</p>
<ul class="simple" id="cdap-site-xml-note-final">
<li><strong>[Final]:</strong> Properties marked as <em>[Final]</em> indicates that their value cannot be changed, even
with a setting in the <code class="docutils literal notranslate"><span class="pre">cdap-site.xml</span></code>.</li>
<li><strong>Kafka Server:</strong> All properties that begin with <code class="docutils literal notranslate"><span class="pre">kafka.server.</span></code> are passed to the CDAP
Kafka service when it is started up.</li>
<li><strong>Security:</strong> For information on configuring the <code class="docutils literal notranslate"><span class="pre">cdap-site.xml</span></code> file, its
<a class="reference internal" href="#appendix-cdap-default-security"><span class="std std-ref">security section</span></a>, and CDAP for security, see the
documentation <a class="reference internal" href="../security/index.html#admin-security"><span class="std std-ref">Security</span></a> section.</li>
</ul>
<div class="section" id="general">
<span id="appendix-cdap-default-general"></span><h2>General<a class="headerlink" href="#general" title="Permalink to this headline">🔗</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="35%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter Name</th>
<th class="head">Default Value</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">cluster.name</span></code></td>
<td>&#160;</td>
<td>A cluster-based name for CDAP. It is used for scope resolution of preferences and runtime arguments. For example: the preference key “cluster.[cluster.name].my.key” would be resolved to “my.key” at runtime; a program can then retrieve the preference value by using just “my.key”. The administrator can use this property to set different preferences for each cluster.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">hdfs.lib.dir</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${hdfs.namespace}/lib</span></code></td>
<td>Common directory in HDFS for, among others, JAR files for coprocessors</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">hdfs.namespace</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">/${root.namespace}</span></code></td>
<td>Root directory for HDFS files written by CDAP</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">hdfs.user</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">yarn</span></code></td>
<td>User name for accessing HDFS</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">instance.name</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${root.namespace}</span></code></td>
<td>Determines a unique identifier for a CDAP instance. It is used for providing authorization to a particular CDAP instance. Must be alphanumeric, and should not be changed after CDAP has been started. If it is changed, there is a risk of losing data (for example, authorization policies).</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">network.proxy.address</span></code></td>
<td>&#160;</td>
<td>A SOCKS 5 proxy address for CDAP to proxy outgoing connections. The address must be in the format of “host:port”.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">local.data.dir</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">data</span></code></td>
<td>Data directory for CDAP Local Sandbox and the CDAP Master process in Distributed CDAP</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">mapreduce.include.custom.format.classes</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">true</span></code></td>
<td>Indicates whether to include custom input/output format classes in the job.jar or not; if set to true, custom format classes will be added to the job.jar and available as part of the MapReduce system classpath</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">mapreduce.jobclient.connect.max.retries</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">2</span></code></td>
<td>Indicates the maximum number of retries the JobClient will make to establish a service connection when retrieving job status and history</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">mapreduce.status.report.interval.seconds</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">60</span></code></td>
<td>Time in seconds between reporting the status, including retrieval of the job’s task report, while a MapReduce program is running.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">master.manage.hbase.coprocessors</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">true</span></code></td>
<td>Whether CDAP Master should manage HBase coprocessors. This should only be set to false if you are managing coprocessors yourself in order to support rolling HBase upgrades.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">master.environment.extensions.dir</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">/opt/cdap/master/ext/environments</span></code></td>
<td>Semicolon-separated list of local directories that are scanned for CDAP Master environment providers.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">master.startup.checks.classes</span></code></td>
<td>&#160;</td>
<td>Comma-separated list of classnames for checks that will be run before the CDAP Master starts up. If any of the checks fails, the CDAP Master will not start up. Checks will only be run if <code class="docutils literal notranslate"><span class="pre">${master.startup.checks.enabled}</span></code> is set to true.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">master.startup.checks.enabled</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">true</span></code></td>
<td>Whether checks should be run before startup to determine if the CDAP Master can be run correctly. Which checks are run is determined by the <code class="docutils literal notranslate"><span class="pre">${master.startup.checks.packages}</span></code> and <code class="docutils literal notranslate"><span class="pre">${master.startup.checks.classes}</span></code> settings. If any checks fail, the CDAP Master will fail to start instead of waiting for the problem to be fixed. This setting only affects Distributed CDAP. It does not apply to CDAP Local Sandbox.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">master.startup.checks.packages</span></code></td>
<td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">io.cdap.cdap.master.startup,</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">io.cdap.cdap.data.startup</span></code></div>
</div>
</td>
<td>Comma-separated list of packages containing checks that will be run before the CDAP Master starts up. If any of the checks fails, the CDAP Master will not start up. Checks will only be run if <code class="docutils literal notranslate"><span class="pre">${master.startup.checks.enabled}</span></code> is set to true.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">namespaces.dir</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">namespaces</span></code></td>
<td>The sub-directory of <code class="docutils literal notranslate"><span class="pre">${hdfs.namespace}</span></code> in which namespaces are stored</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">root.namespace</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">cdap</span></code></td>
<td>Root for this CDAP instance; used as the parent (or root) node for ZooKeeper, as the directory under which all CDAP data and metadata is stored in HDFS, and as the prefix for all HBase tables created by CDAP; must be composed of alphanumeric characters</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">thrift.max.read.buffer</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">16777216</span></code></td>
<td>Specifies the maximum read buffer size in bytes used by the Thrift service; value should be set to greater than the maximum frame sent on the RPC channel</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">twill.java.heap.memory.ratio</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0.6</span></code></td>
<td>The minimum ratio of heap to non-heap memory for all launched Apache Twill containers. Container-specific settings also exist for CDAP system containers.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">twill.java.reserved.memory.mb</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">768</span></code></td>
<td>Desired reserved non-heap memory in megabytes for all launched Apache Twill containers. The actual value is bounded by the <code class="docutils literal notranslate"><span class="pre">${twill.java.heap.memory.ratio}</span></code> setting of the container memory size. Container-specific settings also exist for CDAP system containers.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">twill.jvm.gc.opts</span></code></td>
<td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">-XX:+UseG1GC</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">-verbose:gc</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">-Xloggc:&amp;lt;LOG_DIR&amp;gt;/gc.log</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">-XX:+PrintGCDetails</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">-XX:+PrintGCDateStamps</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">-XX:+UseGCLogFileRotation</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">-XX:NumberOfGCLogFiles=10</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">-XX:GCLogFileSize=1M</span></code></div>
</div>
</td>
<td>Java garbage collection options for all Apache Twill containers; “&amp;lt;LOG_DIR&amp;gt;” is the location of the log directory in the container; note that the special characters are replaced with entity equivalents so they can be included in the XML</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">twill.location.cache.dir</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">.cache</span></code></td>
<td>The relative directory name on the distributed file system for Apache Twill to cache generated files, to speed up launching applications. This directory is relative to <code class="docutils literal notranslate"><span class="pre">${root.namespace}/twill</span></code> on the file system.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">twill.no.container.timeout</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">120000</span></code></td>
<td>Duration in milliseconds to wait for at least one container for Apache Twill runnable</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">twill.yarn.am.memory.mb</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">512</span></code></td>
<td>The memory size in megabytes of the Apache Twill application master container</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">twill.yarn.am.reserved.memory.mb</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${twill.java.reserved.memory.mb}</span></code></td>
<td>Desired reserved non-heap memory in megabytes for Apache Twill application master container. The actual value is bounded by the <code class="docutils literal notranslate"><span class="pre">${twill.java.heap.memory.ratio}</span></code> of the <code class="docutils literal notranslate"><span class="pre">${twill.yarn.am.memory.mb}</span></code> setting.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">twill.zookeeper.namespace</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">/twill</span></code></td>
<td>ZooKeeper namespace prefix for Apache Twill</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">upgrade.thread.pool.size</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1</span></code></td>
<td>Number of threads to be used running operations concurrently during a CDAP upgrade</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">zookeeper.client.startup.timeout.millis</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">60000</span></code></td>
<td>Duration in milliseconds to wait for a successful connection to a server in the ZooKeeper quorum</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">zookeeper.quorum</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">127.0.0.1:2181/${root.namespace}</span></code></td>
<td>ZooKeeper quorum string; specifies the ZooKeeper host:port; substitute the quorum (FQDN1:2181,FQDN2:2181,…) for the components shown here</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">zookeeper.session.timeout.millis</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">40000</span></code></td>
<td>ZooKeeper session timeout in milliseconds</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="global">
<span id="appendix-cdap-default-global"></span><h2>Global<a class="headerlink" href="#global" title="Permalink to this headline">🔗</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="35%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter Name</th>
<th class="head">Default Value</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">bootstrap.file</span></code></td>
<td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">/opt/cdap/master/bootstrap/distributed.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">json</span></code></div>
</div>
</td>
<td>File that contains bootstrap steps that should be executed on a new CDAP instance as well as steps that should be executed on every restart of CDAP. Bootstrap steps include operations like loading system artifacts, creating the native profile, and creating the data prep application.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">dataset.unchecked.upgrade</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">false</span></code></td>
<td>If false, any changes made to existing datasets are not deployed when an app is redeployed; setting this value to true allows the dataset changes to be deployed upon app redeployment</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">enable.unrecoverable.reset</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">false</span></code></td>
<td>Determines if resetting CDAP should be enabled. <strong>WARNING: Enabling this option makes it possible to delete all applications and data; NO RECOVERY IS POSSIBLE!</strong></td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="applications">
<span id="appendix-cdap-default-applications"></span><h2>Applications<a class="headerlink" href="#applications" title="Permalink to this headline">🔗</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="35%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter Name</th>
<th class="head">Default Value</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">app.artifact.dir</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">/opt/cdap/master/artifacts</span></code></td>
<td>Semicolon-separated list of local directories scanned for system artifacts to add to the artifact repository</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">app.bind.port</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0</span></code></td>
<td>App Fabric service bind port; if 0, binds to a random port</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">app.output.dir</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">/programs</span></code></td>
<td>Directory where all archives are stored</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">app.program.extra.classpath</span></code></td>
<td>&#160;</td>
<td>Additional Java classpath for CDAP programs. These extra classpaths must be present on all nodes in the cluster. Supports wildcard suffix “*” to include all JAR files under a directory.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">app.program.jvm.opts</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${twill.jvm.gc.opts}</span></code></td>
<td>Java options for all Apache Twill containers</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">app.max.concurrent.runs</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">-1</span></code></td>
<td>Maximum number of concurrent program runs allowed; set to -1 for unlimited</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">app.program.max.start.seconds</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">300</span></code></td>
<td>Maximum number of seconds to wait for a program to start before killing it</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">app.program.max.stop.seconds</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">300</span></code></td>
<td>Maximum number of seconds to wait for a program to stop before killing it</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">app.program.runid.corrector.interval</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">180</span></code></td>
<td>Interval in seconds of how often the run id corrector thread will run; this value should be greater than 0</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">app.program.runid.corrector.tx.batch.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">size</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">1000</span></code></td>
<td>Number of run records being fetched per transaction for checking if needed for correction. This value is directly proportional to the <code class="docutils literal notranslate"><span class="pre">${data.tx.timeout}</span></code> setting.</td>
</tr>
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">app.program.local.dataset.deleter.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">initial.delay</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">300</span></code></td>
<td>Interval in seconds for initial delay for the local dataset deletion thread; this value should be greater than 0</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">app.program.local.dataset.deleter.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">interval</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">3600</span></code></td>
<td>Interval in seconds of how often the local dataset deletion thread will run; this value should be greater than 0</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">app.program.runtime.extensions.dir</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">/opt/cdap/master/ext/runtimes</span></code></td>
<td>Semicolon-separated list of local directories that are scanned for program runtime extensions</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">app.program.spark.yarn.client.rewrite.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">enabled</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">true</span></code></td>
<td>Specify whether to rewrite the YARN ‘Client.scala’ class in Spark to work around issue SPARK-13441 in CDH clusters</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">app.program.status.event.fetch.size</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">100</span></code></td>
<td>Maximum number of events to fetch from the messaging system in each processing cycle for program status update events</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">app.program.status.event.poll.delay.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">millis</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">2000</span></code></td>
<td>The delay in milliseconds to check again for new program status events after it detects there was no event</td>
</tr>
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">app.program.yarn.attempt.failures.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">validity.interval</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">60000</span></code></td>
<td>The interval in milliseconds for the time window used by YARN Resource Manager to check for application max failure attempts. By default, this is only used for long running program, but can be override through runtime argument <cite>system.yarn.attempt.failures.validity.interval</cite></td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">app.program.transaction.control</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">implicit</span></code></td>
<td>Defines how transactions are controlled for program methods invocation; “implicit” means that the platform encloses method execution into a transaction, whereas “explicit” means that the method itself is in control of executing transactions.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">app.temp.dir</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">/tmp</span></code></td>
<td>Temp directory</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">apps.scheduler.queue</span></code></td>
<td>&#160;</td>
<td>Scheduler queue for CDAP programs and CDAP Explore queries</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">app.deploy.update.schedules</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">true</span></code></td>
<td>If true, redeploying an application will modify any schedules that currently exist for the application; if false, redeploying an application does not create any new schedules and existing schedules are neither deleted nor updated. This property only affects the redeployment of an application; all related actions or endpoints are unaffected.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">master.services.bind.address</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0.0.0.0</span></code></td>
<td>Bind address for app fabric service and dataset service</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">program.container.dist.jars</span></code></td>
<td>&#160;</td>
<td>Additional jars to be localized to every program container and to be added to classpaths of CDAP programs. They can be local file paths on the CDAP Master or URIs of remote files. Multiple JAR files are comma- separated.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">scheduler.job.queue.num.partitions</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">16</span></code></td>
<td>Number of partitions in the scheduler’s job queue. This is the same as the number of constraint checker threads started by the scheduler.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">scheduler.max.thread.pool.size</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">100</span></code></td>
<td>Size of the scheduler thread pool</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">scheduler.misfire.threshold.ms</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">60000</span></code></td>
<td>The number of milliseconds by which a schedule execution can miss its next-fire-time and still run</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">scheduler.event.poll.delay.millis</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">2000</span></code></td>
<td>The delay in milliseconds that the scheduler checks again for new events after it detects there was no event</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">scheduler.time.event.fetch.size</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">100</span></code></td>
<td>Maximum number of events to fetch from the messaging system in each processing cycle for time schedule events</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">scheduler.stream.size.event.fetch.size</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">100</span></code></td>
<td>Maximum number of events to fetch from the messaging system in each processing cycle for stream size schedule events</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">scheduler.data.event.fetch.size</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">100</span></code></td>
<td>Maximum number of events to fetch from the messaging system in each processing cycle for data schedule events</td>
</tr>
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">scheduler.program.status.event.fetch.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">size</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">100</span></code></td>
<td>Maximum number of events to fetch from the messaging system in each processing cycle for program status schedule events</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">time.event.topic</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">timeevent</span></code></td>
<td>Topic name for publishing time events from time scheduler to the messaging system</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">program.status.event.topic</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">programstatusevent</span></code></td>
<td>Topic name for publishing status transitioning events of program runs to the messaging system</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">program.status.record.event.topic</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">programstatusrecordevent</span></code></td>
<td>Topic name for publishing program status recording events to the messaging system</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">workflow.token.max.size.mb</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">30</span></code></td>
<td>Maximum allowed size in megabytes of a workflow token; if the workflow token exceeds this size, no further updates are allowed</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">requirements.datasetTypes.exclude.list</span></code></td>
<td>&#160;</td>
<td>Comma separated list of plugin datset type requirements that cannot be met in the instance. Plugins that require any of these will be treated as if they don’t exist. For example, if ‘table’ is given, any plugin that requires ‘table’ will be treated as if they don’t exist.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">ui.theme.file</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">server/config/themes/default.json</span></code></td>
<td>File containing the theme to be used in UI</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="audit-configuration">
<span id="appendix-cdap-default-audit-configuration"></span><h2>Audit configuration<a class="headerlink" href="#audit-configuration" title="Permalink to this headline">🔗</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="35%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter Name</th>
<th class="head">Default Value</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">audit.enabled</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">true</span></code></td>
<td>Determines whether to publish audit messages</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">audit.publish.timeout.ms</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">2000</span></code></td>
<td>Audit message publishing timeout in milliseconds</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">audit.topic</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">audit</span></code></td>
<td>Topic name used to publish audit messages in the messaging system</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="datasets">
<span id="appendix-cdap-default-datasets"></span><h2>Datasets<a class="headerlink" href="#datasets" title="Permalink to this headline">🔗</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="35%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter Name</th>
<th class="head">Default Value</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">data.local.storage</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${local.data.dir}/ldb</span></code></td>
<td>Database directory for LevelDB, used for data fabric in CDAP Local Sandbox</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">data.local.storage.blocksize</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1024</span></code></td>
<td>Block size in bytes for data fabric when in CDAP Local Sandbox</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">data.local.storage.cachesize</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">104857600</span></code></td>
<td>Cache size in bytes for data fabric when in CDAP Local Sandbox</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">data.event.topic</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">dataevent</span></code></td>
<td>Topic name for publishing data events to the messaging system</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">data.storage.implementation</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">nosql</span></code></td>
<td>The database implementation CDAP will use.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">data.storage.sql.jdbc.driver.external</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">true</span></code></td>
<td>Indicates whether the JDBC driver has to be loaded from an external directory. If true, then the JDBC driver directory has to be specified using “data.storage.sql.jdbc.driver.directory”. If false, then the JDBC driver is present in the CDAP classpath. This config can only be used when the storage implementation is postgresql.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">data.storage.sql.jdbc.driver.directory</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">/opt/cdap/master/ext/jdbc</span></code></td>
<td>The base directory for storing JDBC driver jars. Sub-directory with the name that matches with the value of “data.storage.implementation” setting will be searched for the corresponding JDBC driver and dependencies jars to connect to the configured sql instance. The JDBC driver class to load has to be specified using “data.storage.sql.jdbc.driver.name”. This config can only be used when the storage implementation is postgresql.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">data.storage.sql.jdbc.driver.name</span></code></td>
<td>&#160;</td>
<td>The jdbc driver class name to connect to the sql instance. The jdbc url, username, password, connection properties can be set using cdap-security.xml.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">data.storage.sql.jdbc.connection.url</span></code></td>
<td>&#160;</td>
<td>The jdbc url to connect to the sql instance. No sensitive information should be provided using the jdbc url. The username and password can be specified in cdap-security.xml. For non-sensitive properties, it can be specified by adding a property with name prefixed with “data.storage.sql.jdbc.property.”, followed by the sql property name.</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">data.storage.sql.jdbc.connection.pool.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">size</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">800</span></code></td>
<td>The max number of connections for the sql connection pool.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">data.tx.enabled</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">true</span></code></td>
<td>Determines if the transaction service is enabled.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">data.tx.bind.address</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0.0.0.0</span></code></td>
<td>Transaction service bind address</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">data.tx.bind.port</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0</span></code></td>
<td>Transaction service bind port; if 0, binds to a random port</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">data.tx.changeset.count.limit</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">2147483647</span></code></td>
<td>Hard limit for the number of entries in a transaction’s change set; if exceeded, the transaction fails. By default, this is unlimited (that is, Int.MAX_VALUE).</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">data.tx.changeset.count.warn.threshold</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">50000</span></code></td>
<td>Soft limit for the number of entries in a transaction’s change set; if exceeded, a warning is logged.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">data.tx.changeset.size.limit</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">9223372036854775807</span></code></td>
<td>Hard limit for the aggregate size in bytes of a transaction’s change set; if exceeded, the transaction fails. By default, this is unlimited (that is, Long.MAX_VALUE).</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">data.tx.changeset.size.warn.threshold</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">5000000</span></code></td>
<td>Soft limit for the aggregate size in bytes of a transaction’s change set; if exceeded, a warning is logged.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">data.tx.client.count</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">50</span></code></td>
<td>The number of pooled instances of the transaction client; increase this to increase transaction concurrency</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">data.tx.client.provider</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">pool</span></code></td>
<td>Provider strategy for transaction clients; valid values are “pool” and “thread-local”</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">data.tx.discovery.service.name</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">transaction</span></code></td>
<td>Name in discovery service for the transaction service</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">data.tx.hdfs.user</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${hdfs.user}</span></code></td>
<td>User name for accessing HDFS (if not running in secure HDFS)</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">data.tx.janitor.enable</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">true</span></code></td>
<td>Determines if the TransactionDataJanitor coprocessor is enabled on tables; normally should be true</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">data.tx.max.instances</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${master.service.max.instances}</span></code></td>
<td>Maximum number of transaction service instances. Increasing the number of transaction service instances only improves availability, but not scalability</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">data.tx.max.timeout</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">600</span></code></td>
<td>The limit for the allowed transaction timeout, in seconds. Attempts to start a transaction with a longer timeout will fail.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">data.tx.memory.mb</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${master.service.memory.mb}</span></code></td>
<td>Memory in megabytes for each transaction service instance</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">data.tx.num.cores</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${master.service.num.cores}</span></code></td>
<td>Number of virtual cores for the transaction service</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">data.tx.num.instances</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1</span></code></td>
<td>Requested number of transaction service instances</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">data.tx.prune.enable</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">false</span></code></td>
<td>Enable invalid transaction list pruning</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">data.tx.prune.plugins</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">data.tx.pruning.plugin</span></code></td>
<td>List of transaction pruning plugins; for CDAP HBase tables that use transaction functionality to skip or clean invalid data</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">data.tx.prune.state.table</span></code></td>
<td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">${dataset.table.prefix}_system:tephra.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">state</span></code></div>
</div>
</td>
<td>Table used to store intermediate state when invalid transaction list pruning is enabled</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">data.tx.pruning.plugin.class</span></code></td>
<td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">io.cdap.data2.txprune.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">DefaultHBaseTransactionPruningPlugin</span></code></div>
</div>
</td>
<td>Class name for the default transaction pruning plugin</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">data.tx.retain.client.id</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">committed</span></code></td>
<td>Whether and how long to retain the client id of a transaction. Valid values are: “off” to disable retention of the client id; “active” to retain the client id until a transaction is committed; or “committed” to retain the client id as long as its change set participates in conflict detection. Retaining the client id slightly increases the memory footprint of the transaction service. Client ids are never retained past a restart or fail-over of the transaction manager.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">data.tx.server.io.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">2</span></code></td>
<td>Number of IO threads for the transaction service</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">data.tx.server.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">25</span></code></td>
<td>Number of threads for the transaction service</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">data.tx.snapshot.codecs</span></code></td>
<td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">org.apache.tephra.snapshot.SnapshotCodecV3,</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">org.apache.tephra.snapshot.SnapshotCodecV4</span></code></div>
</div>
</td>
<td>Specifies the class names of all supported transaction state codecs</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">data.tx.snapshot.dir</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${hdfs.namespace}/tx.snapshot</span></code></td>
<td>Directory in HDFS used to store snapshots and logs of transaction state</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">data.tx.snapshot.interval</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">60</span></code></td>
<td>Frequency of transaction snapshots in seconds</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">data.tx.snapshot.local.dir</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${local.data.dir}/tx.snapshot</span></code></td>
<td>Storage directory on the local filesystem of snapshot and logs of transaction state when in CDAP Local Sandbox</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">data.tx.snapshot.retain</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">10</span></code></td>
<td>Number of transaction snapshot files to retain as backups</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">data.tx.thrift.max.read.buffer</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${thrift.max.read.buffer}</span></code></td>
<td>Maximum read buffer size in bytes used by the transaction service; the value should be set to something greater than the maximum frame sent on the RPC channel</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">data.tx.timeout</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">30</span></code></td>
<td>Timeout value in seconds for a transaction; if the transaction is not finished in that time, it is marked invalid</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">dataset.data.dir</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">data</span></code></td>
<td>Base directory for user data on the filesystem</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">dataset.executor.bind.address</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0.0.0.0</span></code></td>
<td>Dataset executor HTTP service bind address</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">dataset.executor.bind.port</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0</span></code></td>
<td>Dataset executor bind port; if 0, binds to a random port</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">dataset.executor.container.instances</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1</span></code></td>
<td>Number of dataset executor instances</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">dataset.executor.container.memory.mb</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${master.service.memory.mb}</span></code></td>
<td>Memory in megabytes for each dataset executor instance</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">dataset.executor.container.num.cores</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1</span></code></td>
<td>Number of virtual cores for each dataset executor instance</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">dataset.executor.max.instances</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${master.service.max.instances}</span></code></td>
<td>Maximum number of dataset executor instances</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">dataset.extensions.dir</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">/opt/cdap/ext/lib</span></code></td>
<td>Directory where all dataset extensions are stored</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">dataset.service.bind.port</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0</span></code></td>
<td>Dataset service bind port; if 0, binds to a random port</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">dataset.service.boss.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1</span></code></td>
<td>Number of Netty service boss threads for the dataset service</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">dataset.service.connection.backlog</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">20000</span></code></td>
<td>Maximum connection backlog of the dataset service</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">dataset.service.exec.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">30</span></code></td>
<td>Number of Netty service executor threads for the dataset service</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">dataset.service.output.dir</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">/datasets</span></code></td>
<td>Directory where all dataset modules archives are stored</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">dataset.service.worker.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">10</span></code></td>
<td>Number of Netty service worker threads for the dataset service</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">dataset.table.prefix</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${root.namespace}</span></code></td>
<td>Prefix for dataset table name</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="explore-service">
<span id="appendix-cdap-default-explore-service"></span><h2>Explore Service<a class="headerlink" href="#explore-service" title="Permalink to this headline">🔗</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="35%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter Name</th>
<th class="head">Default Value</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">explore.active.operation.timeout.secs</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">82800</span></code></td>
<td>Timeout value in seconds for an SQL operation whose result was not fetched completely</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">explore.cleanup.job.schedule.secs</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">60</span></code></td>
<td>Interval in seconds to schedule the clean-up of timed-out operations</td>
</tr>
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">explore.container.yarn.app.classpath.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">first</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">false</span></code></td>
<td>Determines if the YARN application classpath precedes the query engine classpath</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">explore.enabled</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">true</span></code></td>
<td>Determines if the CDAP Explore Service (ad-hoc SQL queries) is enabled</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">explore.executor.container.memory.mb</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">2048</span></code></td>
<td>Memory in megabytes for each CDAP Explore executor instance. This is explicitly set differently than <code class="docutils literal notranslate"><span class="pre">${master.service.memory.mb}</span></code> as Explore requires more memory to run than the CDAP Master service.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">explore.executor.container.num.cores</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1</span></code></td>
<td>Number of virtual cores for each CDAP Explore executor instance</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">explore.http.timeout</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">20</span></code></td>
<td>The timeout in seconds for HTTP requests to the CDAP Explore service. Because requests may happen within a transaction, it is recommended to keep this timeout noticeably shorter than the default transaction timeout, <code class="docutils literal notranslate"><span class="pre">${data.tx.timeout}.</span></code></td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">explore.inactive.operation.timeout.secs</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">3600</span></code></td>
<td>Timeout value in seconds for an SQL operation which does not have any more results to be fetched</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">explore.local.data.dir</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${local.data.dir}/explore</span></code></td>
<td>Data directory for the CDAP Explore service when in CDAP Local Sandbox</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">explore.service.bind.port</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0</span></code></td>
<td>CDAP Explore service bind port; if 0, binds to a random port</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">explore.start.on.demand</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">false</span></code></td>
<td>Determines the start-up of the CDAP Explore service (ad-hoc SQL queries); if false, the Explore service starts up when CDAP is started; if true, the Explore service will start upon the first query it receives</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">explore.writes.enabled</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">true</span></code></td>
<td>Determines if writing to a table through the CDAP Explore service (ad- hoc SQL queries) is enabled</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">hive.version.resolution.strategy</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">auto.strict</span></code></td>
<td>Determines how to behave when the Hive version on a cluster is an unsupported value. The default value of “auto.strict” will require that the Hive version matches a supported value; if Explore is enabled, CDAP Master will then not start if the Hive version is unsupported. Set to “auto.latest” to use the latest Hive version of CDAP modules available on the cluster with an unsupported Hive version. This property is ignored for supported versions of Hive or if Explore has been disabled by setting <code class="docutils literal notranslate"><span class="pre">${explore.enabled}</span></code> to false.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">hive.server2.jdbc.url</span></code></td>
<td>&#160;</td>
<td>The JDBC URL for the HiveServer2 in the cluster. This is needed if user programs need HiveServer2 delegation token to interact with HiveServer2. It can remain empty if the delegation token is not required for the user programs.</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="gateway">
<span id="appendix-cdap-default-gateway"></span><h2>Gateway<a class="headerlink" href="#gateway" title="Permalink to this headline">🔗</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="35%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter Name</th>
<th class="head">Default Value</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">app.boss.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1</span></code></td>
<td>Number of Netty service boss threads</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">app.connection.backlog</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">20000</span></code></td>
<td>Maximum connection backlog of CDAP Master</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">app.exec.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">20</span></code></td>
<td>Number of Netty service executor threads</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">app.worker.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">10</span></code></td>
<td>Number of Netty service worker threads</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="kafka-server">
<span id="appendix-cdap-default-kafka-server"></span><h2>Kafka Server<a class="headerlink" href="#kafka-server" title="Permalink to this headline">🔗</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="35%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter Name</th>
<th class="head">Default Value</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">kafka.seed.brokers</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">127.0.0.1:9092</span></code></td>
<td>Comma-separated list of CDAP Kafka service brokers; for Distributed CDAP, replace with list of FQDN:port brokers</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">kafka.server.default.replication.factor</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1</span></code></td>
<td>CDAP Kafka service replication factor; used to replicate Kafka messages across multiple machines to prevent data loss in the event of a hardware failure. The recommended setting is to run at least two CDAP Kafka servers. If you are running two CDAP Kafka servers, set this value to 2; otherwise, set it to the maximum number of tolerated machine failures plus one (assuming you have that number of machines).</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">kafka.server.host.name</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0.0.0.0</span></code></td>
<td>CDAP Kafka service bind address</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">kafka.server.log.dirs</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">/tmp/kafka-logs</span></code></td>
<td>Comma-separated list of CDAP Kafka service log storage directories</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">kafka.server.log.flush.interval.messages</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">10000</span></code></td>
<td>The interval length (in number of messages in the CDAP Kafka service) at which to force an fsync of data written to the log</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">kafka.server.log.retention.hours</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">24</span></code></td>
<td>The number of hours to keep a log file before deleting it; this is the time-to-live in the CDAP Kafka service, while a log is in-flight between the container and the CDAP log saver</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">kafka.server.num.partitions</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">10</span></code></td>
<td>Default number of partitions for a topic in the CDAP Kafka service</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">kafka.server.port</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">9092</span></code></td>
<td>CDAP Kafka service bind port</td>
</tr>
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">kafka.server.zookeeper.connection.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">timeout.ms</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">1000000</span></code></td>
<td>Maximum time in milliseconds that the CDAP Kafka service will wait to establish a connection to ZooKeeper</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">kafka.zookeeper.namespace</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">kafka</span></code></td>
<td>CDAP Kafka service ZooKeeper namespace</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">kafka.zookeeper.quorum</span></code></td>
<td>&#160;</td>
<td>CDAP Kafka service ZooKeeper quorum and namespace. If set, this will override the ZooKeeper quorum (set by <code class="docutils literal notranslate"><span class="pre">${zookeeper.quorum})</span></code> and the ZooKeeper namespace (set by <code class="docutils literal notranslate"><span class="pre">${kafka.zookeeper.namespace})</span></code> when setting up a connection to the Kafka service used by CDAP. If the same Kafka service ZooKeeper quorum and namespace are shared by multiple CDAP instances, each CDAP instance needs to distinguish its Kafka topics from those of other CDAP instances with unique values for <code class="docutils literal notranslate"><span class="pre">${log.kafka.topic}</span></code> and <code class="docutils literal notranslate"><span class="pre">${metrics.topic.prefix}.</span></code></td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="logging">
<span id="appendix-cdap-default-logging"></span><h2>Logging<a class="headerlink" href="#logging" title="Permalink to this headline">🔗</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="35%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter Name</th>
<th class="head">Default Value</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">log.base.dir</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">/logs/avro</span></code></td>
<td>In Distributed CDAP, the HDFS directory under which the system log pipeline saves log files</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">log.buffer.base.dir</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${local.data.dir}/logs.buffer</span></code></td>
<td>Base directory for logs buffer</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">log.buffer.max.file.size.bytes</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">104857600</span></code></td>
<td>Maximum size in bytes of a log buffer file</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">log.buffer.server.bind.address</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0.0.0.0</span></code></td>
<td>Log buffer HTTP service bind address</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">log.buffer.server.bind.port</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0</span></code></td>
<td>Log buffer HTTP service bind port</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">app.program.log.appender.extensions.dir</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">/opt/cdap/master/ext/log/appenders</span></code></td>
<td>Directory for log appender jars</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">app.program.log.appender.provider</span></code></td>
<td>&#160;</td>
<td>Provider for log appender. The log appender provided by this provider will be loaded in each program container</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">log.buffer.recovery.batch.size</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">5000</span></code></td>
<td>Log buffer recovery batch size in number of log events read. This will be used to recover logs in batches from log buffer upon log service restart</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">log.kafka.topic</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">logs.user-v2</span></code></td>
<td>Kafka topic name used to publish logs</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">log.tms.topic.prefix</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">logs</span></code></td>
<td>TMS topic prefix used to publish logs</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">log.queue.size</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">512</span></code></td>
<td>The buffer size used in Log Appender</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">log.pipeline.cdap.dir.permissions</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">700</span></code></td>
<td>Permissions used by the system log pipeline when creating directories</td>
</tr>
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">log.pipeline.cdap.file.cleanup.interval.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">mins</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">1440</span></code></td>
<td>Time in minutes between runs of the log cleanup thread</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">log.pipeline.cdap.file.cleanup.batch.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">size</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">10000</span></code></td>
<td>Batch size to clean up log metadata table</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">log.pipeline.cdap.file.max.lifetime.ms</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">21600000</span></code></td>
<td>Maximum time span in milliseconds of a log file created by the system log pipeline</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">log.pipeline.cdap.file.max.size.bytes</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">104857600</span></code></td>
<td>Maximum size in bytes of a log file created by the system log pipeline</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">log.pipeline.cdap.file.permissions</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">600</span></code></td>
<td>Permissions used by the system log pipeline when creating files</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">log.pipeline.cdap.file.retention.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">duration.days</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">7</span></code></td>
<td>Time in days a log file is retained</td>
</tr>
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">log.process.pipeline.checkpoint.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">interval.ms</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">10000</span></code></td>
<td>The time between log processing pipeline checkpoints in milliseconds</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">log.process.pipeline.config.dir</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">/opt/cdap/master/ext/logging/config</span></code></td>
<td>A local directory on the CDAP Master that is scanned for log processing pipeline configurations. Each pipeline is defined by a file in the logback XML format, with “.xml” as the file name extension.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">log.process.pipeline.event.delay.ms</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">2000</span></code></td>
<td>The time a log event stays in the log processing pipeline buffer before writing out to log appenders in milliseconds. A longer delay will result in better time ordering of log events before presenting to log appenders but will consume more memory.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">log.process.pipeline.kafka.fetch.size</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1048576</span></code></td>
<td>The buffer size in bytes, per topic partition, for fetching log events from Kafka</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">log.process.pipeline.lib.dir</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">/opt/cdap/master/ext/logging/lib</span></code></td>
<td>Comma-separated list of local directories on the CDAP Master scanned for additional library JAR files to be included for log processing</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">log.publish.num.partitions</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">10</span></code></td>
<td>Number of CDAP Kafka service partitions to publish the logs to</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">log.publish.partition.key</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">program</span></code></td>
<td>Publish logs from an application or a program to the same partition. Valid values are “application” or “program”. If set to “application”, logs from all the programs of an application go to the same partition. If set to “program”, logs from the same program go to the same partition. Changes to this property requires restarting of all CDAP applications.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">log.query.server.bind.address</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0.0.0.0</span></code></td>
<td>Log query HTTP service bind address</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">log.query.server.bind.port</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0</span></code></td>
<td>Log query HTTP service bind port</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">log.saver.container.memory.mb</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${master.service.memory.mb}</span></code></td>
<td>Memory in megabytes for each log saver instance to run in YARN.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">log.saver.container.num.cores</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">2</span></code></td>
<td>Number of virtual cores for each log saver instance in YARN</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">log.saver.max.instances</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${master.service.max.instances}</span></code></td>
<td>Maximum number of log saver instances to run in YARN</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">log.saver.num.instances</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1</span></code></td>
<td>Number of log saver instances to run in YARN</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="market">
<span id="appendix-cdap-default-market"></span><h2>Market<a class="headerlink" href="#market" title="Permalink to this headline">🔗</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="35%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter Name</th>
<th class="head">Default Value</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">market.base.url</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">https://hub.cdap.io/v2</span></code></td>
<td>The base URL of the Cask Market used by the CDAP UI for the Cask Market RESTful API. The default value shown is that of the public Cask Market.</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="master">
<span id="appendix-cdap-default-master"></span><h2>Master<a class="headerlink" href="#master" title="Permalink to this headline">🔗</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="35%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter Name</th>
<th class="head">Default Value</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">hbase.client.retries.number</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">2</span></code></td>
<td>Maximum number of retries while performing HBase operations from master services</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">hbase.rpc.timeout</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">15000</span></code></td>
<td>RPC timeout from HBase operations performed from master services</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">hbase.version.resolution.strategy</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">auto.strict</span></code></td>
<td>Determines how to behave when the HBase version on a cluster is an unsupported value. The default value of “auto.strict” will require that the HBase version match a supported value, and CDAP Master will not start if the HBase version is unsupported. Set to “auto.latest” to use the latest HBase version available on the cluster with an unsupported HBase version.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">http.service.boss.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1</span></code></td>
<td>Number of Netty service boss threads for master HTTP services</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">http.service.connection.backlog</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">20000</span></code></td>
<td>Maximum connection backlog of master HTTP service</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">http.service.exec.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">20</span></code></td>
<td>Number of Netty service executor threads for master HTTP services</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">http.service.worker.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">10</span></code></td>
<td>Number of Netty service worker threads for master HTTP services</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">master.collect.app.containers.log.level</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">ERROR</span></code></td>
<td>The log level of application container logs that are streamed back to the CDAP Master process log. The levels supported are “ALL”, “TRACE”, “DEBUG”, “INFO”, “WARN”, “ERROR”, and “OFF”.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">master.collect.containers.log</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">true</span></code></td>
<td>Determines if master service container logs are streamed back to the CDAP Master process log</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">master.service.max.instances</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">5</span></code></td>
<td>Maximum number of master service instances</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">master.service.memory.mb</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1024</span></code></td>
<td>Macro property to set the default memory in megabytes for each CDAP system container</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">master.service.num.cores</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">2</span></code></td>
<td>Number of virtual cores for each master service instance</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">master.services.scheduler.queue</span></code></td>
<td>&#160;</td>
<td>Scheduler queue for CDAP Master services</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">master.startup.service.timeout.seconds</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">600</span></code></td>
<td>Timeout in seconds for master services to wait for their dependent services to be available. For example, the dataset executor master service requires the transaction service, and will wait for the transaction service to become available while it is starting up. If the timeout is hit, the service will fail to start and the master service will shut itself down. If set to 0 or below, master services will not wait for their dependent services to start before starting themselves.</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="messaging-system">
<span id="appendix-cdap-default-messaging-system"></span><h2>Messaging System<a class="headerlink" href="#messaging-system" title="Permalink to this headline">🔗</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="35%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter Name</th>
<th class="head">Default Value</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">messaging.cache.size.mb</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">30</span></code></td>
<td>Memory in megabytes for the cache size used by the messaging service for caching recently-published messages. Currently, only topics listed in the <code class="docutils literal notranslate"><span class="pre">${messaging.system.topics}</span></code> configuration have caching enabled. Set it to 0 to disable caching.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">messaging.container.instances</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1</span></code></td>
<td>Number of instances for the messaging service</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">messaging.container.memory.mb</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${master.service.memory.mb}</span></code></td>
<td>Memory in megabytes for each messaging service instance</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">messaging.container.num.cores</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${master.service.num.cores}</span></code></td>
<td>Number of virtual cores for each messaging service instance</td>
</tr>
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">messaging.coprocessor.metadata.cache.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">expiration.seconds</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">120</span></code></td>
<td>Number of seconds after which the metadata cache in HBase data table coprocessors will expire</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">messaging.ha.fencing.delay.seconds</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">5</span></code></td>
<td>Number of seconds to wait before the leader process start serving requests</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">messaging.hbase.max.scan.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">96</span></code></td>
<td>Maximum number of threads used for scanning HBase tables</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">messaging.hbase.scan.cache.rows</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1000</span></code></td>
<td>Number of rows for caching that will be passed to HBase scanners. Higher caching values will enable faster scanning but will use more memory.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">messaging.http.server.bind.address</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0.0.0.0</span></code></td>
<td>Messaging HTTP server bind address</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">messaging.http.server.bind.port</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0</span></code></td>
<td>Messaging HTTP service bind port; if 0, binds to a random port</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">messaging.http.server.consume.chunk.size</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">60000</span></code></td>
<td>Approximate size in bytes of each chunk streamed back to a consumer</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">messaging.http.server.executor.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0</span></code></td>
<td>Number of executor threads for the HTTP server in the messaging system. If set to 0, no executor threads will be used and requests will be handled directly in the IO thread.</td>
</tr>
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">messaging.http.server.max.request.size.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">mb</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">10</span></code></td>
<td>Maximum request content size in megabytes for each request to the HTTP server in the messaging system</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">messaging.http.server.worker.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">30</span></code></td>
<td>Number of IO threads used by the HTTP server in the messaging system</td>
</tr>
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">messaging.local.data.cleanup.frequency.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">secs</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">3600</span></code></td>
<td>Scheduling frequency of time-to-live cleanup thread in seconds (only used in CDAP Local Sandbox)</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">messaging.local.data.dir</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${local.data.dir}/messaging</span></code></td>
<td>Local storage directory for the messaging system (used only in CDAP Local Sandbox)</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">messaging.max.instances</span></code> <a class="reference internal" href="#cdap-site-xml-note-final"><span class="std std-ref">[Final]</span></a></td>
<td><code class="docutils literal notranslate"><span class="pre">${master.service.max.instances}</span></code></td>
<td>Maximum number of instances for the messaging service. Increasing the number of messaging service instances only improves availability, but not scalability</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">messaging.message.table.hbase.splits</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">16</span></code></td>
<td>Number of splits to use for the message table in HBase upon table creation</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">messaging.message.table.name</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">tms.message</span></code></td>
<td>Name of the message table of the messaging system</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">messaging.metadata.table.name</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">tms.meta</span></code></td>
<td>Name of the metadata table of the messaging system</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">messaging.payload.table.hbase.splits</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">16</span></code></td>
<td>Number of splits to use for the payload table in HBase upon table creation</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">messaging.payload.table.name</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">tms.payload</span></code></td>
<td>Name of the payload table of the messaging system</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">messaging.system.topics</span></code> <a class="reference internal" href="#cdap-site-xml-note-final"><span class="std std-ref">[Final]</span></a></td>
<td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">${audit.topic},</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">${metadata.messaging.topic},</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">${data.event.topic},</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">${metrics.topic.prefix}:${metrics.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">messaging.topic.num},</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">${metrics.admin.topic},</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">${time.event.topic},</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">${program.status.event.topic},</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">${program.status.record.event.topic},</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">${log.tms.topic.prefix}:${log.publish.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">num.partitions}</span></code></div>
</div>
</td>
<td>A comma-separated list of topics that are always available in the system namespace. Multiple topics sharing the same prefix and distinguished by different numerical suffixes can be specified with the syntax <code class="docutils literal notranslate"><span class="pre">&lt;common.prefix&gt;:&lt;total.topic.number&gt;,</span></code> where the <code class="docutils literal notranslate"><span class="pre">&lt;total.topic.number&gt;</span></code> is the total number of topics sharing the <code class="docutils literal notranslate"><span class="pre">&lt;common.prefix&gt;,</span></code> and the numerical suffixes will range from 0 to (<code class="docutils literal notranslate"><span class="pre">&lt;total.topic.number&gt;</span></code> - 1).</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">messaging.table.expiration.seconds</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">300</span></code></td>
<td>Number of seconds after which the messaging table cache will expire</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">messaging.table.hbase.split.policy</span></code></td>
<td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">org.apache.hadoop.hbase.regionserver.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">DisabledRegionSplitPolicy</span></code></div>
</div>
</td>
<td>The class name that controls the HBase table region split policy. Ideally, auto-splitting should be disabled for HBase tables used by the messaging system.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">messaging.topic.default.ttl.seconds</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">604800</span></code></td>
<td>The default time-to-live in seconds for messages in a topic</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">messaging.twill.java.heap.memory.ratio</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0.6</span></code></td>
<td>The minimum ratio of heap to non-heap memory for the messaging service container</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">messaging.twill.java.reserved.memory.mb</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">512</span></code></td>
<td>Desired reserved non-heap memory in megabytes for the messaging service container. The actual value is bounded by the <code class="docutils literal notranslate"><span class="pre">${twill.java.heap.memory.ratio}</span></code> setting of the container memory size.</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="metadata">
<span id="appendix-cdap-default-metadata"></span><h2>Metadata<a class="headerlink" href="#metadata" title="Permalink to this headline">🔗</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="35%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter Name</th>
<th class="head">Default Value</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">metadata.max.allowed.chars</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">50</span></code></td>
<td>Maximum number of characters for metadata keys, values, and tags</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">metadata.service.bind.address</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0.0.0.0</span></code></td>
<td>Metadata HTTP service bind address</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">metadata.service.bind.port</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0</span></code></td>
<td>Metadata HTTP service bind port; if 0, binds to a random port</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">metadata.service.exec.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${http.service.exec.threads}</span></code></td>
<td>Number of Netty service executor threads for metadata HTTP service</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">metadata.service.worker.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${http.service.worker.threads}</span></code></td>
<td>Number of Netty service IO worker threads for metadata HTTP service</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">metadata.messaging.topic</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">metadata</span></code></td>
<td>Topic name used to publish metadata messages in the messaging system</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">metadata.messaging.fetch.size</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">100</span></code></td>
<td>Number of messages to fetch from messaging system for each batch</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">metadata.messaging.poll.delay.millis</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">2000</span></code></td>
<td>The delay in milliseconds that the lineage processor checks again for new events after it detects there was no event</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">metadata.messaging.retries.on.conflict</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">100</span></code></td>
<td>The maximal number of times a metadata message will be processed if it repeatedly causes a conflict exception. After this, the mesaage will be discarded.</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="metrics">
<span id="appendix-cdap-default-metrics"></span><h2>Metrics<a class="headerlink" href="#metrics" title="Permalink to this headline">🔗</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="35%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter Name</th>
<th class="head">Default Value</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">metrics.bind.address</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0.0.0.0</span></code></td>
<td>Metrics query HTTP service bind address</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">metrics.bind.port</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0</span></code></td>
<td>Metrics query HTTP service bind port; if 0, binds to a random port</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">metrics.boss.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${http.service.boss.threads}</span></code></td>
<td>Number of Netty service boss threads for metrics HTTP services</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">metrics.connection.backlog</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${http.service.connection.backlog}</span></code></td>
<td>Maximum connection backlog of metrics HTTP service</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">metrics.minimum.resolution.seconds</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1</span></code></td>
<td>Minimum metrics resolution in seconds, this value should be less than 60 seconds, otherwise the minimum metrics resolution will be 60 seconds.</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">metrics.data.table.retention.minimum.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">resolution.seconds</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">7200</span></code></td>
<td>Retention resolution in seconds of the minimum resolution table; default retention period is 2 hours, this retention will not be applied if the minimum resolution is greater than or equal to 60.</td>
</tr>
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">metrics.data.table.retention.resolution.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">3600.seconds</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">2592000</span></code></td>
<td>Retention resolution in seconds of the 1-hour resolution table; default retention period is 30 days</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">metrics.data.table.retention.resolution.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">60.seconds</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">2592000</span></code></td>
<td>Retention resolution in seconds for the 1-minute resolution table; default retention period is 30 days</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">metrics.data.table.ts.rollTime.3600</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">24</span></code></td>
<td>Number of columns in a 1-hour resolution timeseries table</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">metrics.data.table.ts.rollTime.60</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">60</span></code></td>
<td>Number of columns in a 1-minute resolution timeseries table</td>
</tr>
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">metrics.dataset.hbase.stats.report.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">interval</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">60</span></code></td>
<td>Report interval in seconds for HBase stats</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">metrics.dataset.leveldb.stats.report.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">interval</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">60</span></code></td>
<td>Report interval in seconds for LevelDB stats</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">metrics.exec.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${http.service.exec.threads}</span></code></td>
<td>Number of Netty service executor threads for metrics HTTP services</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">metrics.meta.table</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">metrics.meta</span></code></td>
<td>Name of the metrics meta table</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">metrics.kafka.partition.size</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">10</span></code></td>
<td>Number of partitions for the Kafka metrics topic</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">metrics.kafka.topic.prefix</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">metrics</span></code></td>
<td>Topic prefix used to publish metrics in Kafka</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">metrics.max.instances</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${master.service.max.instances}</span></code></td>
<td>Maximum number of instances for the metrics service</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">metrics.memory.mb</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${master.service.memory.mb}</span></code></td>
<td>Memory in megabytes for each metrics service instance</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">metrics.messaging.meta.table</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">metrics.messaging.meta</span></code></td>
<td>Name of the messaging metrics meta table</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">metrics.messaging.topic.num</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">10</span></code></td>
<td>Number of topics for metrics messages. This property also sets the number of threads used to fetch and process metrics in parallel from the messaging service. For a value of N, topics will be created for metrics with names beginning at <code class="docutils literal notranslate"><span class="pre">${metrics.topic.prefix}0,</span></code> <code class="docutils literal notranslate"><span class="pre">${metrics.topic.prefix}1,</span></code> up to <code class="docutils literal notranslate"><span class="pre">${metrics.topic.prefix}(N-1).</span></code></td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">metrics.num.cores</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${master.service.num.cores}</span></code></td>
<td>Number of virtual cores for the metrics service</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">metrics.num.instances</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1</span></code></td>
<td>Number of instances for the metrics service</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">metrics.processor.max.instances</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${master.service.max.instances}</span></code></td>
<td>Maximum number of instances for metrics processor service Apache Twill runnable</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">metrics.processor.memory.mb</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${master.service.memory.mb}</span></code></td>
<td>Memory in megabytes for each metrics processor service Apache Twill runnable instance</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">metrics.processor.num.cores</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1</span></code></td>
<td>Number of virtual cores for metrics processor service Apache Twill runnable</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">metrics.processor.num.instances</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1</span></code></td>
<td>Number of instances for metrics processor service Apache Twill runnable</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">metrics.processor.status.bind.address</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0.0.0.0</span></code></td>
<td>Metrics processor HTTP service bind address</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">metrics.processor.status.bind.port</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0</span></code></td>
<td>Metrics processor HTTP service bind port; if 0, binds to a random port</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">metrics.topic.prefix</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">metrics</span></code></td>
<td>Topic prefix used to publish metrics in messaging</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">metrics.admin.topic</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">metricsadmin</span></code></td>
<td>Topic name for publishing metrics administrative events to the messaging system</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">metrics.admin.poll.delay.millis</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">2000</span></code></td>
<td>The delay in milliseconds to check again for new metrics administrative events after it detects there was no event</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">metrics.worker.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${http.service.worker.threads}</span></code></td>
<td>Number of Netty service worker threads for metrics HTTP services</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">metrics.processor.queue.size</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">20000</span></code></td>
<td>Maximum size of a queue where the metrics processor temporarily stores newly-fetched metrics in-memory before persisting them</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">metrics.processor.max.delay.ms</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">3000</span></code></td>
<td>Maximum delay in milliseconds allowed between the latest metrics timestamp and the time when it is processed</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">app.program.metrics.enabled</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">true</span></code></td>
<td>Enable or disable emitting metrics from user application programs, by default set to true.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">metrics.hbase.max.scan.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">96</span></code></td>
<td>Maximum number of threads used for scanning HBase tables</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">metrics.table.splits</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">16</span></code></td>
<td>Number of splits for all metrics tables. This property can only be changed before CDAP starts up for the first time and creates the metrics tables. Once all metrics tables are created, this property will not take any effect.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">metrics.table.hbase.split.policy</span></code></td>
<td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">org.apache.hadoop.hbase.regionserver.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">DisabledRegionSplitPolicy</span></code></div>
</div>
</td>
<td>The class name that controls the HBase table region split policy. Ideally, auto-splitting should be disabled for HBase tables used by the metrics system.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">structured.table.time.metrics.enabled</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">false</span></code></td>
<td>Option to turn on the time metrics for the structured table operations.</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="monitor-handler">
<span id="appendix-cdap-default-monitor-handler"></span><h2>Monitor Handler<a class="headerlink" href="#monitor-handler" title="Permalink to this headline">🔗</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="35%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter Name</th>
<th class="head">Default Value</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">monitor.handler.service.discovery.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">timeout.seconds</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">1</span></code></td>
<td>Timeout in seconds for service discovery used in monitor handler service status check</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="runtime-monitor">
<span id="appendix-cdap-default-runtime-monitor"></span><h2>Runtime Monitor<a class="headerlink" href="#runtime-monitor" title="Permalink to this headline">🔗</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="35%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter Name</th>
<th class="head">Default Value</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">app.program.runtime.monitor.polltime.ms</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">2000</span></code></td>
<td>Polling time in milliseconds to poll updates from a runtime</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">app.program.runtime.monitor.batch.size</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1000</span></code></td>
<td>Number of events to fetch from a runtime in each poll call</td>
</tr>
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">app.program.runtime.monitor.topics.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">configs</span></code> <a class="reference internal" href="#cdap-site-xml-note-final"><span class="std std-ref">[Final]</span></a></div>
</div>
</td>
<td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">audit.topic,data.event.topic,</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">metadata.messaging.topic,</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">metrics.topic.prefix:${metrics.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">messaging.topic.num},</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">program.status.event.topic,</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">log.tms.topic.prefix:${log.publish.num.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">partitions}</span></code></div>
</div>
</td>
<td>A comma-separated list of topic config to be monitored by runtime monitor</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">app.program.runtime.monitor.graceful.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">shutdown.ms</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">5000</span></code></td>
<td>Number of milliseconds to wait for the runtime to shutdown after a program execution completed in that runtime.</td>
</tr>
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">app.program.runtime.monitor.initialize.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">batch.size</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">100</span></code></td>
<td>Number of runtime states to fetch from dataset in each batch during runtime monitor initialization.</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">app.program.runtime.monitor.server.info.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">file</span></code> <a class="reference internal" href="#cdap-site-xml-note-final"><span class="std std-ref">[Final]</span></a></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">runtime.monitor.server.info</span></code></td>
<td>File name for the runtime monitor to store the port number. This configuration is for internal use only and should not be changed.</td>
</tr>
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">app.program.runtime.monitor.server.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">consume.chunk.size</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">60000</span></code></td>
<td>Approximate size in bytes of each chunk streamed back to Runtime Monitor client</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">app.program.runtime.monitor.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">20</span></code></td>
<td>Maximum number of threads being used by runtime monitor for runtime monitoring</td>
</tr>
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">system.runtime.monitor.retry.policy.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">base.delay.ms</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">100</span></code></td>
<td>The base delay between retries in milliseconds</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">system.runtime.monitor.retry.policy.max.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">delay.ms</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">1000</span></code></td>
<td>The maximum delay between retries in milliseconds</td>
</tr>
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">system.runtime.monitor.retry.policy.max.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">retries</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">2147483647</span></code></td>
<td>The maximum number of retries to attempt before aborting</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">system.runtime.monitor.retry.policy.max.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">time.secs</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">3600</span></code></td>
<td>The maximum elapsed time in seconds before retries are aborted</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">system.runtime.monitor.retry.policy.type</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">exponential.backoff</span></code></td>
<td>The type of retry policy for log processing. Allowed options: “none”, “fixed.delay”, or “exponential.backoff”.</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="operational-statistics">
<span id="appendix-cdap-default-operational-statistics"></span><h2>Operational Statistics<a class="headerlink" href="#operational-statistics" title="Permalink to this headline">🔗</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="35%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter Name</th>
<th class="head">Default Value</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">operational.stats.extensions.dir</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">/opt/cdap/master/ext/operations</span></code></td>
<td>Semicolon-separated list of local directories on the CDAP Master that are scanned for operational statistics extensions</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">operational.stats.refresh.interval.secs</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">60</span></code></td>
<td>Number of seconds after which operational statistics should be refreshed</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="runtime">
<span id="appendix-cdap-default-runtime"></span><h2>Runtime<a class="headerlink" href="#runtime" title="Permalink to this headline">🔗</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="35%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter Name</th>
<th class="head">Default Value</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">runtime.extensions.dir</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">/opt/cdap/master/ext/runtimeproviders</span></code></td>
<td>Semicolon-separated list of local directories on the CDAP Master that are scanned for program runtime extensions</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="queue">
<span id="appendix-cdap-default-queue"></span><h2>Queue<a class="headerlink" href="#queue" title="Permalink to this headline">🔗</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="35%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter Name</th>
<th class="head">Default Value</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">data.queue.config.update.interval</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">5</span></code></td>
<td>Frequency in seconds of updates to the queue consumer configuration used in evicting queue entries on flush and compaction</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">data.queue.dequeue.tx.percent</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">30</span></code></td>
<td>Percentage of transaction time allowed to spend in dequeue; it should be an integer between 1-100</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">data.queue.table.presplits</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">16</span></code></td>
<td>Number of splits in the queue table</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="remote-system-operation">
<span id="appendix-cdap-default-remote-system-operation"></span><h2>Remote System Operation<a class="headerlink" href="#remote-system-operation" title="Permalink to this headline">🔗</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="35%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter Name</th>
<th class="head">Default Value</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">remote.system.op.exec.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${http.service.exec.threads}</span></code></td>
<td>Number of Netty service executor threads for the remote system operation HTTP service</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">remote.system.op.service.bind.address</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0.0.0.0</span></code></td>
<td>Remote system operation HTTP service bind address</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">remote.system.op.worker.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${http.service.worker.threads}</span></code></td>
<td>Number of Netty service IO worker threads for the remote system operation HTTP service</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="retry-policies">
<span id="appendix-cdap-default-retry-policies"></span><h2>Retry Policies<a class="headerlink" href="#retry-policies" title="Permalink to this headline">🔗</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="35%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter Name</th>
<th class="head">Default Value</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">custom.action.retry.policy.base.delay.ms</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1000</span></code></td>
<td>The base delay between retries in milliseconds</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">custom.action.retry.policy.max.delay.ms</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">30000</span></code></td>
<td>The maximum delay between retries in milliseconds</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">custom.action.retry.policy.max.retries</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1000</span></code></td>
<td>The maximum number of retries to attempt before aborting</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">custom.action.retry.policy.max.time.secs</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">600</span></code></td>
<td>The maximum elapsed time in seconds before retries are aborted</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">custom.action.retry.policy.type</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">exponential.backoff</span></code></td>
<td>The type of retry policy for custom actions. Allowed options: “none”, “fixed.delay”, or “exponential.backoff”.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">mapreduce.retry.policy.base.delay.ms</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1000</span></code></td>
<td>The base delay between retries in milliseconds</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">mapreduce.retry.policy.max.delay.ms</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">30000</span></code></td>
<td>The maximum delay between retries in milliseconds</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">mapreduce.retry.policy.max.retries</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1000</span></code></td>
<td>The maximum number of retries to attempt before aborting</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">mapreduce.retry.policy.max.time.secs</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">600</span></code></td>
<td>The maximum elapsed time in seconds before retries are aborted</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">mapreduce.retry.policy.type</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">exponential.backoff</span></code></td>
<td>The type of retry policy for MapReduce programs. Allowed options: “none”, “fixed.delay”, or “exponential.backoff”.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">preview.bind.address</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0.0.0.0</span></code></td>
<td>The bind address for the preview service.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">preview.bind.port</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0</span></code></td>
<td>The port to bind the preview service to.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">preview.connection.backlog</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">20000</span></code></td>
<td>The connection backlog in the CDAP Preview service</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">preview.exec.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">10</span></code></td>
<td>The number of executor threads for the preview service</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">preview.boss.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1</span></code></td>
<td>The number of boss threads for the preview service</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">preview.worker.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">10</span></code></td>
<td>The number of worker threads in the CDAP Router service</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">service.retry.policy.base.delay.ms</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">100</span></code></td>
<td>The base delay between retries in milliseconds</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">service.retry.policy.max.delay.ms</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1000</span></code></td>
<td>The maximum delay between retries in milliseconds</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">service.retry.policy.max.retries</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">3</span></code></td>
<td>The maximum number of retries to attempt before aborting</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">service.retry.policy.max.time.secs</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">10</span></code></td>
<td>The maximum elapsed time in seconds before retries are aborted</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">service.retry.policy.type</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">none</span></code></td>
<td>The type of retry policy for services. Allowed options: “none”, “fixed.delay”, or “exponential.backoff”.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">spark.retry.policy.base.delay.ms</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1000</span></code></td>
<td>The base delay between retries in milliseconds</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">spark.retry.policy.max.delay.ms</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">30000</span></code></td>
<td>The maximum delay between retries in milliseconds</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">spark.retry.policy.max.retries</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1000</span></code></td>
<td>The maximum number of retries to attempt before aborting</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">spark.retry.policy.max.time.secs</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">600</span></code></td>
<td>The maximum elapsed time in seconds before retries are aborted</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">spark.retry.policy.type</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">exponential.backoff</span></code></td>
<td>The type of retry policy for Spark programs. Allowed options: “none”, “fixed.delay”, or “exponential.backoff”.</td>
</tr>
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">system.log.process.retry.policy.base.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">delay.ms</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">1000</span></code></td>
<td>The base delay between retries in milliseconds</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">system.log.process.retry.policy.max.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">retries</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">1500</span></code></td>
<td>The maximum number of retries to attempt before aborting</td>
</tr>
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">system.log.process.retry.policy.max.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">time.secs</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">1500</span></code></td>
<td>The maximum elapsed time in seconds before retries are aborted</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">system.log.process.retry.policy.type</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">fixed.delay</span></code></td>
<td>The type of retry policy for log processing. Allowed options: “none”, “fixed.delay”, or “exponential.backoff”.</td>
</tr>
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">system.metadata.retry.policy.base.delay.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">ms</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">100</span></code></td>
<td>The base delay between retries in milliseconds</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">system.metadata.retry.policy.max.delay.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">ms</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">2000</span></code></td>
<td>The maximum delay between retries in milliseconds</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">system.metadata.retry.policy.max.retries</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1000</span></code></td>
<td>The maximum number of retries to attempt before aborting</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">system.metadata.retry.policy.max.time.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">secs</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">2147483647</span></code></td>
<td>The maximum elapsed time in seconds before retries are aborted</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">system.metadata.retry.policy.type</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">exponential.backoff</span></code></td>
<td>The type of retry policy for workers. Allowed options: “none”, “fixed.delay”, or “exponential.backoff”.</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">system.metrics.retry.policy.base.delay.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">ms</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">1000</span></code></td>
<td>The base delay between retries in milliseconds</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">system.metrics.retry.policy.max.retries</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">600</span></code></td>
<td>The maximum number of retries to attempt before aborting</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">system.metrics.retry.policy.max.time.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">secs</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">600</span></code></td>
<td>The maximum elapsed time in seconds before retries are aborted</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">system.metrics.retry.policy.type</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">fixed.delay</span></code></td>
<td>The type of retry policy for metrics publishing. Allowed options: “none”, “fixed.delay”, or “exponential.backoff”.</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">system.notification.retry.policy.base.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">delay.ms</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">100</span></code></td>
<td>The base delay between retries in milliseconds</td>
</tr>
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">system.notification.retry.policy.max.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">delay.ms</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">5000</span></code></td>
<td>The maximum delay between retries in milliseconds</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">system.notification.retry.policy.max.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">retries</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">5000</span></code></td>
<td>The maximum number of retries to attempt before aborting</td>
</tr>
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">system.notification.retry.policy.max.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">time.secs</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">7200</span></code></td>
<td>The maximum elapsed time in seconds before retries are aborted</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">system.notification.retry.policy.type</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">exponential.backoff</span></code></td>
<td>The type of retry policy for notification publish or subscription. Allowed options: “none”, “fixed.delay”, or “exponential.backoff”.</td>
</tr>
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">system.program.state.retry.policy.base.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">delay.ms</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">1000</span></code></td>
<td>The base delay between retries in milliseconds</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">system.program.state.retry.policy.max.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">delay.ms</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">3000</span></code></td>
<td>The maximum delay between retries in milliseconds</td>
</tr>
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">system.program.state.retry.policy.max.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">retries</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">1000</span></code></td>
<td>The maximum number of retries to attempt before aborting</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">system.program.state.retry.policy.max.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">time.secs</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">600</span></code></td>
<td>The maximum elapsed time in seconds before retries are aborted</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">system.program.state.retry.policy.type</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">fixed.delay</span></code></td>
<td>The type of retry policy for programs. Allowed options: “none”, “fixed.delay”, or “exponential.backoff”.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">worker.retry.policy.base.delay.ms</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1000</span></code></td>
<td>The base delay between retries in milliseconds</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">worker.retry.policy.max.delay.ms</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">30000</span></code></td>
<td>The maximum delay between retries in milliseconds</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">worker.retry.policy.max.retries</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1000</span></code></td>
<td>The maximum number of retries to attempt before aborting</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">worker.retry.policy.max.time.secs</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">600</span></code></td>
<td>The maximum elapsed time in seconds before retries are aborted</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">worker.retry.policy.type</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">exponential.backoff</span></code></td>
<td>The type of retry policy for workers. Allowed options: “none”, “fixed.delay”, or “exponential.backoff”.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">workflow.retry.policy.base.delay.ms</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1000</span></code></td>
<td>The base delay between retries in milliseconds</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">workflow.retry.policy.max.delay.ms</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">30000</span></code></td>
<td>The maximum delay between retries in milliseconds</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">workflow.retry.policy.max.retries</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1000</span></code></td>
<td>The maximum number of retries to attempt before aborting</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">workflow.retry.policy.max.time.secs</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">600</span></code></td>
<td>The maximum elapsed time in seconds before retries are aborted</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">workflow.retry.policy.type</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">exponential.backoff</span></code></td>
<td>The type of retry policy for workflows. Allowed options: “none”, “fixed.delay”, or “exponential.backoff”.</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="router">
<span id="appendix-cdap-default-router"></span><h2>Router<a class="headerlink" href="#router" title="Permalink to this headline">🔗</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="35%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter Name</th>
<th class="head">Default Value</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">router.audit.log.enabled</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${security.enabled}</span></code></td>
<td>Determine if access audit log is enabled</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">router.audit.path.check.enabled</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">true</span></code></td>
<td>Determines if to check the number of paths for audit logging</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">router.bind.address</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0.0.0.0</span></code></td>
<td>CDAP Router service bind address</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">router.bind.port</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">11015</span></code></td>
<td>CDAP Router service bind port</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">router.connection.backlog</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">20000</span></code></td>
<td>The connection backlog in the CDAP Router service</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">router.connection.idle.timeout.secs</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">15</span></code></td>
<td>Time in seconds after an HTTP request completes that idle router connections are closed</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">router.server.address</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">127.0.0.1</span></code></td>
<td>CDAP Router service address to which CDAP UI connects</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">router.server.boss.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1</span></code></td>
<td>The number of boss threads in the CDAP Router service</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">router.server.port</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${router.bind.port}</span></code></td>
<td>CDAP Router service port</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">router.server.worker.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">10</span></code></td>
<td>The number of worker threads in the CDAP Router service</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">router.ssl.bind.port</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">10443</span></code></td>
<td>CDAP Router service bind port for HTTPS</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">router.ssl.server.port</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${router.ssl.bind.port}</span></code></td>
<td>CDAP Router service bind port for HTTPS</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">router.ssl.cert.path</span></code></td>
<td>&#160;</td>
<td>File path to certificate and private key file in PEM format to use for CDAP Router when ssl.external.enabled is set to true.</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="security">
<span id="appendix-cdap-default-security"></span><h2>Security<a class="headerlink" href="#security" title="Permalink to this headline">🔗</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="35%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter Name</th>
<th class="head">Default Value</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">cdap.master.kerberos.keytab</span></code></td>
<td>&#160;</td>
<td>The full path to the Kerberos keytab file containing the CDAP Master service’s credentials</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">cdap.master.kerberos.principal</span></code></td>
<td>&#160;</td>
<td>Example: “CDAP_PRINCIPAL/_HOST&#64;EXAMPLE.COM”. The Kerberos primary user that should be used to login to the CDAP Master service. Substitute the Kerberos primary (user) for CDAP_PRINCIPAL, and your domain for EXAMPLE.COM. The string “_HOST” will be substituted with the local hostname.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">cdap.ugi.cache.expiration.ms</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">3600000</span></code></td>
<td>UserGroupInformation cache entry expiration time in milliseconds. It is only used when impersonation is enabled.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">kerberos.auth.enabled</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${security.enabled}</span></code></td>
<td>Determines if Kerberos authentication is enabled</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">kerberos.auth.relogin.interval.seconds</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">300</span></code></td>
<td>Re-login interval in seconds for Kerberos keytab</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">security.auth.server.announce.urls</span></code></td>
<td>&#160;</td>
<td>CDAP Authentication service announce URL’s separated by comma. Each URL is in the format of protocol://host:port. These are the URL’s that clients should use to communicate with the Authentication Server. Leave empty to use the default value generated by the Authentication Server.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">security.auth.server.bind.address</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0.0.0.0</span></code></td>
<td>CDAP Authentication service bind address</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">security.auth.server.bind.port</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">10009</span></code></td>
<td>CDAP Authentication service bind port</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">security.auth.server.ssl.bind.port</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">10010</span></code></td>
<td>CDAP Authentication service bind port for HTTPS</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">security.authentication.basic.realmfile</span></code></td>
<td>&#160;</td>
<td>Username and password file to use when basic authentication is configured</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">security.authentication.handlerClassName</span></code></td>
<td>&#160;</td>
<td>Name of the authentication implementation to use to validate user credentials</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">security.authentication.loginmodule.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">className</span></code></div>
</div>
</td>
<td>&#160;</td>
<td>JAAS LoginModule implementation to use when io.cdap.security.server.JAASAuthenticationHandler is configured for <code class="docutils literal notranslate"><span class="pre">${security.authentication.handlerClassName}</span></code></td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">security.authorization.cache.max.entries</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">100000</span></code></td>
<td>Number of entries to hold in the container authorization cache. If set to 0, no caching will be performed.</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">security.authorization.extension.config.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">cache.max.entries</span></code></div>
</div>
</td>
<td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">${security.authorization.cache.max.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">entries}</span></code></div>
</div>
</td>
<td>Number of entries to hold in the container authorization cache. If set to 0, no caching will be performed.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">security.authorization.cache.ttl.secs</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">300</span></code></td>
<td>The time-to-live in seconds for entries in the authorization cache used by programs and system services outside of CDAP Master.</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">security.authorization.extension.config.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">cache.ttl.secs</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">${security.authorization.cache.ttl.secs}</span></code></td>
<td>The time-to-live in seconds for entries in the authorization cache used by programs and system services outside of CDAP Master.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">security.authorization.enabled</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">false</span></code></td>
<td>When set to true, all operations in CDAP are authorized using the authorizer implementation found at the property <code class="docutils literal notranslate"><span class="pre">${security.authorization.extension.jar.path}</span></code></td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">security.authorization.extension.jar.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">path</span></code></div>
</div>
</td>
<td>&#160;</td>
<td>If an external authorization system is used for authorizing operations on CDAP entities, this property sets the path to the bundled JAR file containing the extension code. This jar is only used when authorization is enabled by setting <code class="docutils literal notranslate"><span class="pre">${security.authorization.enabled}</span></code> to true.</td>
</tr>
<tr class="row-even"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">security.authorization.extension.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">operation.time.warn.threshold.ms</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">5000</span></code></td>
<td>Time taken by an authorization extension to perform an enforce operation is recorded and logged at TRACE level. This property sets the upper limit for the time taken by the extension in milliseconds after which it is logged at WARN level rather than TRACE.</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">security.data.keyfile.path</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${local.data.dir}/security/keyfile</span></code></td>
<td>Path to the secret key file (only used in CDAP Local Sandbox)</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">security.enabled</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">false</span></code></td>
<td>Determines if authentication is enabled for CDAP; if true, all requests to CDAP must provide a valid access token</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">security.keytab.path</span></code></td>
<td>&#160;</td>
<td>The location of Kerberos keytabs used for impersonation. The location can contain <code class="docutils literal notranslate"><span class="pre">${name},</span></code> which will be replaced by the short user name of the principal being impersonated.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">security.realm</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">cdap</span></code></td>
<td>Authentication realm used for scoping security; this value should be unique for each installation of CDAP</td>
</tr>
<tr class="row-odd"><td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">security.server.extended.token.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">expiration.ms</span></code></div>
</div>
</td>
<td><code class="docutils literal notranslate"><span class="pre">604800000</span></code></td>
<td>Admin tool access token expiration time in milliseconds; defaults to 1 week (internal)</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">security.server.maxthreads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">100</span></code></td>
<td>Maximum number of threads that the CDAP Authentication service should use for handling HTTP requests</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">security.server.token.expiration.ms</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">86400000</span></code></td>
<td>Access token expiration time in milliseconds; defaults to 24 hours</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">security.store.file.name</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">securestore</span></code></td>
<td>Name of the secure store file</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">security.store.extensions.dir</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">/opt/cdap/master/ext/securestores</span></code></td>
<td>Semicolon-separated list of local directories that are scanned for secure store extensions</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">security.store.file.path</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${local.data.dir}/store</span></code></td>
<td>Location of the encrypted file which holds the secure store entries</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">security.store.provider</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">none</span></code></td>
<td>Backend provider for the secure store; values can be ‘none’ if no secure store, ‘kms’ for hadoop kms based store or name of the secure store extension. If the provider is set to ‘file’ then the user must provide the password to be used to access the keystore. The password can be set using ‘security.store.file.password’ property in cdap-security.xml. KMS based provider is supported for Apache Hadoop 2.6.0 and above versions.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">security.token.digest.algorithm</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">HmacSHA256</span></code></td>
<td>Algorithm used for generating MAC of access tokens</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">security.token.digest.key.expiration.ms</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">3600000</span></code></td>
<td>Duration in milliseconds after which an active secret key used for signing tokens should be retired</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">security.token.digest.keylength</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">128</span></code></td>
<td>Key length used in generating the secret keys for generating MAC of access tokens</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">security.token.distributed.parent.znode</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">/${root.namespace}/security/auth</span></code></td>
<td>Parent node in ZooKeeper used for secret key distribution in Distributed CDAP</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">ssl.external.enabled</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">false</span></code></td>
<td>Enable SSL for external services</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">ssl.internal.enabled</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">false</span></code></td>
<td>Enable SSL between internal services</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">ssl.internal.cert.path</span></code></td>
<td>&#160;</td>
<td>File path to certificate and private key file in PEM format to use when ssl.internal.enabled is set to true.</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="ui">
<span id="appendix-cdap-default-ui"></span><h2>UI<a class="headerlink" href="#ui" title="Permalink to this headline">🔗</a></h2>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="35%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter Name</th>
<th class="head">Default Value</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">dashboard.bind.address</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0.0.0.0</span></code></td>
<td>CDAP UI bind address</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">dashboard.bind.port</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">11011</span></code></td>
<td>CDAP UI bind port</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">dashboard.router.check.timeout.secs</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0</span></code></td>
<td>Interval in seconds that the CDAP UI waits before exiting when unable to connect to the CDAP Router service on startup; use a timeout of 0 to wait indefinitely</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">dashboard.ssl.bind.port</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">9443</span></code></td>
<td>CDAP UI bind port for HTTPS</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">dashboard.ssl.disable.cert.check</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">false</span></code></td>
<td>True to disable SSL certificate check from the CDAP UI</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">http.client.connection.timeout.ms</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">60000</span></code></td>
<td>Connection timeout in milliseconds for internal HTTP requests</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">http.client.read.timeout.ms</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">60000</span></code></td>
<td>Read timeout in milliseconds for internal HTTP requests</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">program.heartbeat.interval.seconds</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1800</span></code></td>
<td>Interval of heartbeat sent from program while it’s running, default 30 minutes</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">program.heartbeat.table.ttl.seconds</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">2592000</span></code></td>
<td>TTL duration for program heartbeat table, by default 30 days</td>
</tr>
</tbody>
</table>
</div>
<div class="section" id="deprecated-properties">
<span id="appendix-cdap-default-deprecated-properties"></span><h2>Deprecated Properties<a class="headerlink" href="#deprecated-properties" title="Permalink to this headline">🔗</a></h2>
<p>These properties are deprecated as of CDAP 6.1.1 and should not be used. They
will be removed in a future release. Replacement properties are listed as noted.</p>
<table border="1" class="docutils">
<colgroup>
<col width="30%" />
<col width="35%" />
<col width="35%" />
</colgroup>
<thead valign="bottom">
<tr class="row-odd"><th class="head">Parameter Name</th>
<th class="head">Default Value</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">app.bind.address</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0.0.0.0</span></code></td>
<td>App Fabric service bind address (deprecated; use <code class="docutils literal notranslate"><span class="pre">${master.services.bind.address}</span></code> instead)</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">app.ssl.bind.port</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">30443</span></code></td>
<td>App Fabric service bind port for HTTPS</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">audit.kafka.topic</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">audit</span></code></td>
<td>Apache Kafka topic name to which audit messages are published</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">dataset.service.bind.address</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0.0.0.0</span></code></td>
<td>Dataset service bind address (deprecated; use <code class="docutils literal notranslate"><span class="pre">${master.services.bind.address}</span></code> instead)</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">explore.executor.container.instances</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1</span></code></td>
<td>Number of explore executor instances (deprecated; instance count is always set to 1)</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">explore.executor.max.instances</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1</span></code></td>
<td>Maximum number of explore executor instances (deprecated; instance count is always set to 1)</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">kafka.bind.address</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${kafka.server.host.name}</span></code></td>
<td>CDAP Kafka service bind port (deprecated; use <code class="docutils literal notranslate"><span class="pre">${kafka.server.host.name}</span></code> instead)</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">kafka.bind.port</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${kafka.server.port}</span></code></td>
<td>CDAP Kafka service bind port (deprecated; use <code class="docutils literal notranslate"><span class="pre">${kafka.server.port}</span></code> instead)</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">kafka.default.replication.factor</span></code></td>
<td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">${kafka.server.default.replication.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">factor}</span></code></div>
</div>
</td>
<td>CDAP Kafka service replication factor (deprecated; use <code class="docutils literal notranslate"><span class="pre">${kafka.server.default.replication.factor}</span></code> instead)</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">kafka.log.dir</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${kafka.server.log.dirs}</span></code></td>
<td>CDAP Kafka service log storage directory (deprecated; use <code class="docutils literal notranslate"><span class="pre">${kafka.server.log.dirs}</span></code> instead)</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">kafka.log.retention.hours</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${kafka.server.log.retention.hours}</span></code></td>
<td>The number of hours to keep a log file before deleting it (deprecated; use <code class="docutils literal notranslate"><span class="pre">${kafka.server.log.retention.hours}</span></code> instead)</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">kafka.num.partitions</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">${kafka.server.num.partitions}</span></code></td>
<td>Default number of partitions for a topic (deprecated; use <code class="docutils literal notranslate"><span class="pre">${kafka.server.num.partitions}</span></code> instead)</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">kafka.zookeeper.connection.timeout.ms</span></code></td>
<td><div class="first last line-block">
<div class="line"><code class="docutils literal notranslate"><span class="pre">${kafka.server.zookeeper.connection.</span></code></div>
<div class="line"><code class="docutils literal notranslate"><span class="pre">timeout.ms}</span></code></div>
</div>
</td>
<td>The maximum time (in milliseconds) that the client will wait to establish a connection to Zookeeper (deprecated; use <code class="docutils literal notranslate"><span class="pre">${kafka.server.zookeeper.connection.timeout.ms}</span></code> instead)</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">log.cleanup.max.num.files</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1000</span></code></td>
<td>Maximum number of files scanned in one iteration</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">log.cleanup.run.interval.mins</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1440</span></code></td>
<td>Log cleanup interval in minutes</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">log.retention.duration.days</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">7</span></code></td>
<td>Duration (the time-to-live) in days of saved log files in HDFS retention</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">log.saver.checkpoint.interval.ms</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">60000</span></code></td>
<td>The time between log saver checkpoints in milliseconds (deprecated: use <code class="docutils literal notranslate"><span class="pre">${log.process.pipeline.checkpoint.interval.ms}</span></code> instead)</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">log.saver.run.memory.megs</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1024</span></code></td>
<td>Memory in megabytes allocated for log saver instances to run in YARN (deprecated: use <code class="docutils literal notranslate"><span class="pre">${log.saver.container.memory.mb}</span></code> instead)</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">log.saver.run.num.cores</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">2</span></code></td>
<td>Number of cores for each log saver instance in YARN (deprecated: use <code class="docutils literal notranslate"><span class="pre">${log.saver.container.num.cores}</span></code> instead)</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">metrics.messaging.fetcher.limit</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">2000</span></code></td>
<td>Maximum number of metrics messages to be fetched from the messaging fetcher at a time. It is also the maximum number of metric values to be persisted in the metrics store after the number of fetched messages reaches the limit.</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">notification.kafka.topic</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">notifications</span></code></td>
<td>Kafka topic name used to publish notifications</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">notification.transport.system</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">kafka</span></code></td>
<td>Transport system used by the notification system; can be either ‘kafka’ or ‘stream’</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">router.client.boss.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">1</span></code></td>
<td>The number of boss threads in the CDAP Router service client</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">router.client.worker.threads</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">10</span></code></td>
<td>The number of worker threads in the CDAP Router service client</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">security.auth.server.address</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">0.0.0.0</span></code></td>
<td>CDAP Authentication service bind address (deprecated; use <code class="docutils literal notranslate"><span class="pre">${security.auth.server.bind.address}</span></code> instead)</td>
</tr>
<tr class="row-odd"><td><code class="docutils literal notranslate"><span class="pre">ssl.enabled</span></code></td>
<td><code class="docutils literal notranslate"><span class="pre">false</span></code></td>
<td>Determines if SSL is enabled (deprecated; use <code class="docutils literal notranslate"><span class="pre">${ssl.external.enabled}</span></code> instead)</td>
</tr>
<tr class="row-even"><td><code class="docutils literal notranslate"><span class="pre">security.auth.server.announce.address</span></code></td>
<td>&#160;</td>
<td>CDAP Authentication service announce address. This is the address in the URL that clients should use to communicate with the Authentication Server. Leave empty to use the default value generated by the Authentication Server. (deprecated; use <code class="docutils literal notranslate"><span class="pre">${security.auth.server.announce.urls}</span></code> instead)</td>
</tr>
</tbody>
</table>
</div>
</div>

</div>
    <div class="col-md-2">
      <div id="right-sidebar" class="bs-sidenav scrollable-y" role="complementary">
        <div id="localtoc-scrollspy">
        </div>
      </div>
    </div></div>
</div>
<!-- block main content end -->
<!-- block footer -->
<footer class="footer">
      <div class="container">
        <div class="row">
          <div class="col-md-2 footer-left"><a title="Appendices" href="index.html" />Previous</a></div>
          <div class="col-md-8 footer-center"><a class="footer-tab-link" href="../table-of-contents/../../reference-manual/licenses/index.html">Copyright</a> &copy; 2014-2020 Cask Data, Inc.&bull; <a class="footer-tab-link" href="//docs.cask.co/cdap/6.1.1/cdap-docs-6.1.1-web.zip" rel="nofollow">Download</a> an archive or
<a class="footer-tab-link" href="//docs.cask.co/cdap">switch the version</a> of the documentation
          </div>
          <div class="col-md-2 footer-right"><a title="Appendix: cdap-security.xml" href="cdap-security.html" />Next</a></div>
        </div>
      </div>
    </footer>
<!-- block footer end -->
<script type="text/javascript" src="../_static/bootstrap-3.3.6/js/bootstrap.min.js"></script><script type="text/javascript" src="../_static/js/bootstrap-sphinx.js"></script><script type="text/javascript" src="../_static/js/abixTreeList-2.js"></script><script type="text/javascript" src="../_static/js/cdap-dynamicscrollspy-4.js"></script><script type="text/javascript" src="../_static/js/cdap-version-menu.js"></script><script type="text/javascript" src="../_static/js/copy-to-clipboard.js"></script><script type="text/javascript" src="../_static/js/jquery.mousewheel.min.js"></script><script type="text/javascript" src="../_static/js/jquery.mCustomScrollbar.js"></script><script type="text/javascript" src="../_static/js/js.cookie.js"></script><script type="text/javascript" src="../_static/js/tabbed-parsed-literal-0.2.js"></script><script type="text/javascript" src="../_static/js/cdap-onload-javascript.js"></script><script type="text/javascript" src="../_static/js/cdap-version-menu.js"></script>
    <script src="https://cdap.gitee.io/docs/cdap/json-versions.js"/></script>
  </body>
</html>